﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;

namespace _8Group.MES.MengIService.DTO
{
    public class UpdateMdItemDTO
    {
        public int Id { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        [MaxLength(64)]
        public string ItemCode { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        [MaxLength(255)]
        public string ItemName { get; set; }

        /// <summary>
        /// 规格型号
        /// </summary>
        [MaxLength(500)]
        public string Specification { get; set; }

        /// <summary>
        /// 单位（使用单位名称）
        /// </summary>
        [MaxLength(64)]
        public string UnitOfMeasure { get; set; }

        /// <summary>
        /// 物料产品标识（物料 item 产品 product）
        /// </summary>
        [MaxLength(20)]
        public string ItemOrProduct { get; set; }

        /// <summary>
        /// 物料类型ID
        /// </summary>
        public long ItemTypeId { get; set; } ///

        /// <summary>
        /// 物料类型编码
        /// </summary>
        [MaxLength(64)]
        public string ItemTypeCode { get; set; } ///

        /// <summary>
        /// 物料类型名称
        /// </summary>
        [MaxLength(255)]
        public string ItemTypeName { get; set; } ///

        /// <summary>
        /// 是否启用（默认 'Y'）
        /// </summary>
        [MaxLength(1)]
        public string EnableFlag { get; set; }

        /// <summary>
        /// 是否设置安全库存（默认 'N'）
        /// </summary>
        [MaxLength(1)]
        public string SafeStockFlag { get; set; }

        /// <summary>
        /// 最低库存数量
        /// </summary>
        public double? MinStock { get; set; }

        /// <summary>
        /// 最高库存数量
        /// </summary>
        public double? MaxStock { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [MaxLength(500)]
        public string Remark { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        [MaxLength(64)]
        public string? CreateBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 更新人
        /// </summary>
        [MaxLength(64)]
        public string? UpdateBy { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }
    }
}
